Skip to content

Conversation

@PrasangAPrajapati
Copy link

@PrasangAPrajapati PrasangAPrajapati commented Sep 25, 2025

Related GitHub Issue

Closes: #8087

Roo Code Task Context (Optional)

Description

  • Added IBM watsonx AI provider in the list of providers in the Roo Code VS Code extension to connect to IBM watsonx-hosted LLMs.

Test Procedure

  • You can start with the free trial: https://dataplatform.cloud.ibm.com/registration/stepone?context=wx
  • Sign up with Google (Do not use RedHat) - If you already have an account, just use Log In
  • Once you're logged in to the IBM Cloud, you'll be asked to add the address and the credit card information (Don't worry, you won't get charged)
  • Go to the Resources list from the left sidebar menu
  • Click on the Create resource button
  • Go to the Category - AI/Machine Learning
  • Click on watsonx.ai runtime
  • Select the Region (Dallas) and Lite plan, which is free
  • You can give the service name, and the resource group will be the default.
  • Accept terms and conditions and hit create
  • Now there is a button called Launch In -> Select IBM watsonx from the drop-down - it will create a watsonx instance
  • Go down on the page and create a project by clicking on the + icon (it may create automatically)
  • Go to Manage and click on the Services and integrations from the left menu bar (make sure the created watsonx.ai runtime is associated)
  • Go back to the home page by clicking on the top left IBM watsonx
  • Select your project from the drop-down shown in the Developer access area
  • Click on the Create API key and save the API key (you won't be able to see that again)
  • Note project ID and api key
  • Use the project ID and api key in the Roo Code IBM watsonx provider

Pre-Submission Checklist

  • Issue Linked: This PR is linked to an approved GitHub Issue (see "Related GitHub Issue" above).
  • Scope: My changes are focused on the linked issue (one major feature/fix per PR).
  • Self-Review: I have performed a thorough self-review of my code.
  • Testing: New and/or updated tests have been added to cover my changes (if applicable).
  • Documentation Impact: I have considered if my changes require documentation updates (see "Documentation Updates" section below).
  • Contribution Guidelines: I have read and agree to the Contributor Guidelines.

Screenshots / Videos

Screenshot 2025-09-25 at 6 43 30 PM

Documentation Updates

Additional Notes

Get in Touch

  • Let's use the GH PR only for communication.

Important

Adds IBM watsonx as a new AI provider with full integration, including configuration, validation, UI support, and testing.

  • Behavior:
    • Adds IBM watsonx as a new AI provider in provider-settings.ts and global-settings.ts.
    • Introduces WatsonxAIHandler in ibm-watsonx.ts for handling API interactions.
    • Supports both ibmCloud and cloudPak platforms with different authentication methods.
  • Validation:
    • Updates validate.ts to include validation for IBM watsonx configurations.
    • Adds validation tests in validate.test.ts for IBM watsonx.
  • UI:
    • Updates UI components in ApiOptions.tsx and providers/ibm-watsonx.tsx to support IBM watsonx configurations.
    • Adds localization strings for IBM watsonx in multiple language files.
  • Testing:
    • Adds unit tests for WatsonxAIHandler in ibm-watsonx.spec.ts.
    • Updates webviewMessageHandler.spec.ts and ClineProvider.spec.ts to include IBM watsonx.

This description was created by Ellipsis for 68c8418. You can customize this summary. It will automatically update as commits are pushed.

@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. enhancement New feature or request labels Sep 25, 2025
@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Sep 25, 2025
Copy link

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found several issues that need attention before merge. See inline comments for details.

@daniel-lxs daniel-lxs moved this from Triage to PR [Changes Requested] in Roo Code Roadmap Sep 25, 2025
@hannesrudolph hannesrudolph added PR - Changes Requested and removed Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. labels Sep 25, 2025
@daniel-lxs daniel-lxs moved this from PR [Changes Requested] to PR [Needs Prelim Review] in Roo Code Roadmap Sep 26, 2025
Copy link
Member

@daniel-lxs daniel-lxs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, I took a look at the changes and found a couple of issues that need to be addressed.

@PrasangAPrajapati
Copy link
Author

@daniel-lxs I have addressed your feedback. Thanks for the review. It should be ready for review now.

Copy link

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found some issues that need attention before merge. See inline comments.

Copy link

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found some issues that need attention before merge. See inline comments.

roomote[bot]

This comment was marked as outdated.

roomote[bot]

This comment was marked as outdated.

roomote[bot]

This comment was marked as outdated.

@RooCodeInc RooCodeInc deleted a comment from roomote bot Oct 2, 2025
@RooCodeInc RooCodeInc deleted a comment from roomote bot Oct 2, 2025
Copy link

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found some issues that need attention before merge. See inline comments for details.

Copy link

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found some issues that need attention before merge. See inline comments for details.

Copy link

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found some issues that need attention before merge. See inline comments for details.

PrasangAPrajapati and others added 26 commits November 3, 2025 13:23
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
- Reduce UI component from 470 to 313 lines (33% reduction)
- Remove redundant manual refresh button (follows LMStudio/Ollama pattern)
- Extract validation helper function to reduce duplication
- Consolidate duplicate credential input fields
- Fix region naming to use actual codes instead of pretty names
- Simplify handler variable declarations and error handling
- Remove redundant validation checks in fetcher
- Add documented constant for non-inference model filtering
- Overall 19% reduction across all watsonx files (913 -> 735 lines)
- Removed watsonx-specific logic from DiffSettingsControl component
- Removed 'advanced.diff.watsonx.description' translation key from all 18 language files
- IBM watsonx provider has nothing to do with diff settings
* feat: convert Chutes to dynamic/router provider

- Add chutes to dynamicProviders array in provider-settings
- Add chutes entry to dynamicProviderExtras in api.ts
- Create fetcher function for Chutes models API
- Convert ChutesHandler to extend RouterProvider
- Update tests to work with dynamic provider setup
- Export chutesDefaultModelInfo for RouterProvider constructor

* fix: address security and code quality issues from review

- Fix potential API key leakage in error logging
- Add temperature support check before setting temperature
- Improve code consistency with RouterProvider patterns

* fix: add chutes to routerModels initialization

- Fix TypeScript error in webviewMessageHandler
- Ensure chutes is included in RouterName Record type

* Fixes

* Support reasoning

* Fix tests

* Remove reasoning checkbox

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>
* feat: convert Chutes to dynamic/router provider

- Add chutes to dynamicProviders array in provider-settings
- Add chutes entry to dynamicProviderExtras in api.ts
- Create fetcher function for Chutes models API
- Convert ChutesHandler to extend RouterProvider
- Update tests to work with dynamic provider setup
- Export chutesDefaultModelInfo for RouterProvider constructor

* fix: address security and code quality issues from review

- Fix potential API key leakage in error logging
- Add temperature support check before setting temperature
- Improve code consistency with RouterProvider patterns

* fix: add chutes to routerModels initialization

- Fix TypeScript error in webviewMessageHandler
- Ensure chutes is included in RouterName Record type

* Fixes

* Support reasoning

* Fix tests

* Remove reasoning checkbox

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>
* feat: convert Chutes to dynamic/router provider

- Add chutes to dynamicProviders array in provider-settings
- Add chutes entry to dynamicProviderExtras in api.ts
- Create fetcher function for Chutes models API
- Convert ChutesHandler to extend RouterProvider
- Update tests to work with dynamic provider setup
- Export chutesDefaultModelInfo for RouterProvider constructor

* fix: address security and code quality issues from review

- Fix potential API key leakage in error logging
- Add temperature support check before setting temperature
- Improve code consistency with RouterProvider patterns

* fix: add chutes to routerModels initialization

- Fix TypeScript error in webviewMessageHandler
- Ensure chutes is included in RouterName Record type

* Fixes

* Support reasoning

* Fix tests

* Remove reasoning checkbox

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Matt Rubens <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request PR - Draft / In Progress size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

Status: PR [Draft / In Progress]

Development

Successfully merging this pull request may close these issues.

[ENHANCEMENT] Add IBM watsonx AI provider in the list of providers to connect to IBM hosted LLMs

3 participants